//3158. 求出出现两次数字的 XOR 值
class Solution {
public:
    int duplicateNumbersXOR(vector<int>& nums) {
        // vector<int> num(51);
        // int ret=0;
        // for(auto& e:nums)
        // {
        //     num[e]++;
        //     if(num[e]==2)
        //     {
        //         ret^=e;
        //     }
        // }
        // return ret;
        int ret=0;
        long long tem=0;
        for(auto e:nums)
        {
            if(tem>>e&1)
                ret^=e;
            else
                tem|=((long long)1<<e);
        }
        return ret;
    }
};

//3194. 最小元素和最大元素的最小平均值
class Solution {
public:
    double minimumAverage(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        int l=0,n=nums.size(),r=n-1;
        double ret=nums[n-1];
        while(l<r)
        {
            double tem=(nums[l]+nums[r])/2.0;
            if(tem<ret)
                ret=tem;
            l++;
            r--;
        }
        return ret;
    }
};
//3200. 三角形的最大高度
class Solution {
public:
    int maxHeightOfTriangle(int red, int blue) {
        int num_1=0,num_2=0;
        int Min=min(red,blue);
        int Max=red>blue?red:blue;
        int i=0;
        while(num_1<=Min&&num_2<=Min)
        {
            i++;
            if(i%2==0)
                num_2+=i;
            else
                num_1+=i;
            
        }
        if(max(num_1,num_2)>Max)
            i--;
        return i;
    }
};